
$(function() {
	jQuery.metadata.setType("attr", "validate");
	//初始化iCheck的checkbox(选择器需要排除bootstrap-swicth的元素,以防止影响其样式)
	$('input[type="checkbox"]:not([name="coperateFlag"])').iCheck({checkboxClass: 'icheckbox_square-green'});	
	//初始化iCheck的radio
	$('input[type="radio"]').iCheck({radioClass: 'iradio_square-green'});
	
	//*****************************基本信息START***********************************/
	//初始化bootstrap-swicth
	$('input[name="coperateFlag"]').bootstrapSwitch({
		onText : "是",
		offText : "否",
		labelText : '',
		onColor : "primary",
		offColor : "danger",
		onSwitchChange : function(event, state) {
			if (state == true) {
				$(this).val("1");
			} else {
				$(this).val("0");
			}
		}
	})
	// 客户等级下拉框
	sys.selectpicker({
		id : 'customerLevel',
		url : rootPath + '/customerLevel/listCustomerLevel',
		valueField : 'id',
		textField : 'levelName',
		defaultValue : $('#customerLevel').attr('init-value') || "25"
	})
	
	// 业务员
	$.ajax({
		type:'POST',
		url: rootPath + '/dict/listKeyMapEntites',
		data : { keyType : "salesmanRoleId" },
		dataType: 'json',
		success: function(data) {  
			if (data.success == '1' && data.data.length > 0) {
				sys.selectpicker({
					id : 'salesmanCode',
					url : rootPath + '/user/getSalesmanList',
					param: {roleId: data.data[0].keyValue},
					valueField : 'id',
					textField : 'userName',
					defaultValue : $('#salesmanCode').attr('init-value'),
					defaultAll: true,
					defaultAllText: '请选择'
				})
			}
		}
	})
	
	// 市场等级下拉框
	sys.selectpicker({
		id : 'marketGrade',
		url : rootPath + '/marketLevel/listMarketLevel',
		valueField : 'id',
		textField : 'level',
		defaultValue : $('#marketGrade').attr('init-value')
	}) 
	// 初始化基本信息页省市区三级联动
	sys.threeLevelArea({
		provinceId: 'province1',
		cityId: 'city1',
		areaId: 'area1',
		streetId: 'street1',
		defaultProvince: $('#province1').attr('init-value'),
		defaultCity: $('#city1').attr('init-value'),
		defaultArea: $('#area1').attr('init-value'),
		defaultStreet: $('#street1').attr('init-value')
	});
	//扩展地址
	$('.extendAddress .extend_address').each(function(i){
		var index = i+1;
		sys.threeLevelArea({
			provinceId : 'province_b' + index,
			cityId : 'city_b' + index,
			areaId : 'area_b' + index,
			streetId : 'street_b' + index,
			defaultProvince: $('#province_b' + index).attr('init-value'),
			defaultCity: $('#city_b' + index).attr('init-value'),
			defaultArea: $('#area_b' + index).attr('init-value'),
			defaultStreet: $('#street_b' + index).attr('init-value')
		});
	})
	// 新增公司地址按钮
	$('#addNewAddr').on('click', function() { 
		var index = $('.extendAddress .extend_address').length + 1; 
		var newAddrTemplete = getNewAddrtemplete(index);
		$('#branchCompanyAddrDiv').append(newAddrTemplete);
		
		var provinceId = 'province_b' + index;
		var cityId = 'city_b' + index;
		var areaId = 'area_b' + index;
		var streetId = 'street_b' + index;
		
		$('#' + provinceId).selectpicker();
		$('#' + cityId).selectpicker();
		$('#' + areaId).selectpicker();
		$('#' + streetId).selectpicker();
		  
		sys.threeLevelArea({
			provinceId : provinceId,
			cityId : cityId,
			areaId : areaId,
			streetId : streetId
		});
	})
	// 保存基本信息并下一步
	$('#btn_save_baseInfo').on('click', function() {
		$("#companyInfoForm").submit();
		return false;
	})
	// 校验并提交基本信息(公司)
	checkAndSubmitCompanyInfo();
	//*****************************基本信息END*************************************/
	
	//*****************************客户人员信息START***********************************/
    //保存人员信息并下一步
    $('#btn_save_customerInfo').on('click', function(){
    	var tabIndex = 2;  
		showTabContent(tabIndex);
    	return false;
    })
    //返回到基本信息页
	$("#btn_back_customerInfo").on("click", function(){
		var tabIndex = 0;  
		showTabContent(tabIndex);
	});
	
    //发票列表
    initCompanyInvoiceTable();
    
	$('#btnAddCustomer').on('click', function(){
		if (!$('#companyId').val()) {
			show('请先填写基本信息');
			return;
		}
		$('#layer_opt_status').val(''); 
		var url = rootPath + '/customer/toAddCustomer?companyId='+$("#companyId").val();
		var index = showDialogUrl('新增', 800, 620, url, function(index){ 
			var optStatus = $('#layer_opt_status').val();
			if (optStatus == '1') {
			}
			//sys.reloadTable('customerTable');
			initCustomerTable();
			layer.close(index);
		})
		layer.full(index);
	})
	initCustomerTable();
	//*****************************客户人员信息END*************************************/
	
	// 初始化客户行为日志记录
	initCustomerVisitLogTable();
	
	// 初始化客户销售订单
	initCustomerOrderTable();
	
	// 初始化客户积分流水
	initCustomerPointTable();
	
	
	// 一个公司的客户列表
	sys.selectpicker({
		id : 'customerListSel'
	})
	
	$("#customerListSel").on("change", function() {
		$("#customerPointTable").bootstrapTable('refresh');
    });
	
	//*****************************开票信息START***********************************/
	//开户行所在区域三级联动
//	sys.threeLevelArea({
//		provinceId: 'province3',
//		cityId: 'city3',
//		areaId: 'area3',
//		defaultProvince: $('#province3').attr('init-value'),
//		defaultCity: $('#city3').attr('init-value'),
//		defaultArea: $('#area3').attr('init-value')
//	});
	
	
//	//保存开票信息并下一步
//    $('#btn_save_billingInfo').on('click', function(){
//    	if (!$('#companyId').val()) {
//			show('请先填写基本信息');
//			return;
//		}
//    	$("#billingInfoForm").submit();
//    	return false;
//    });
//    //返回到人员信息页
//	$("#btn_back_billingInfo").on("click", function(){
//		var tabIndex = 1;  
//		showTabContent(tabIndex);
//	});
    //校验并提交开票信息
	checkAndSubmitBillingInfo();
	//*****************************开票信息END*************************************/
    
    //*****************************配件方式START***********************************/
    //保存配件方式信息
	$('#btn_save_deliverModeInfo').on('click', function(){ 
		if (!$('#companyId').val()) {
			show('请先填写基本信息');
			return;
		}
		if ($('input[name="deliveryMode"]:checked').length == 0) {
			show("请至少选择一个的配件方式");
			return false;
		} 
		if ($('.ttDefaultMode').length == 0) {
			show("请选择一个默认的配件方式");
			return false;
		}
		var companyId = $('#companyId').val();
		var data = [];
		$('input[name="deliveryMode"]:checked').each(function(){
			var defaultFlag = '0';
			if ($('.ttDefaultMode').attr('bind-data') == $(this).attr('value')) {
				defaultFlag = '1';
			}
			data.push({companyId: companyId, modeValue: $(this).attr('value'), defaultFlag: defaultFlag})
		})
		$.ajax({
			type: 'post',
			url: rootPath + "/deliveryMode/saveOrUpdateDeliveryMode",
			data: {data: JSON.stringify(data)},
			dataType: 'json',
			success: function(result){
				showSuccess("配件方式信息保存成功！");
				var tabIndex = 4;  
				showTabContent(tabIndex);
			}
		})
	})
	//返回到开票信息页
	$("#btn_back_deliverModeInfo").on("click", function(){
		var tabIndex = 2;  
		showTabContent(tabIndex);
	});
	initDeliveryModeTable();
	//*****************************配件方式END*************************************/
	
	//*****************************常用物流配置START*************************************/
	if ($('#companyId').val()) {
		$.ajax({
			type: "POST",
			url: rootPath + "/companyExpressConfig/listCompanyExpressConfig",
			data: {companyId: $('#companyId').val()},
			dataType: "json",
			success: function(result){
				if (result.resultCode == "1") {
					$.each(result.data, function(){
						$("input[name='expressType'][value='"+this.expressType+"']").iCheck("check");
					})
				}
			}
		})
		//生成地址列表
		$.ajax({
			type: "POST",
			url: rootPath + "/deliveryAddress/listDeliveryAddress",
			data: {companyId: $('#companyId').val()},
			dataType: "json",
			success: function(result){
				if (result.resultCode == "1") {
					$.each(result.data, function(){
						$("#commonExpressAddress, #expressAddress").append("<option value='"+this.id+"'>"+this.fullAddress+"(收货人:"+this.receiverName+")"+"</option>")
					})
					$("#commonExpressAddress, #expressAddress").selectpicker('refresh');
					
					$.ajax({
						type: "POST",
						url: rootPath + "/companyExpressConfigAddress/listCompanyExpressConfigAddress",
						data: {companyId: $('#companyId').val()},
						dataType: "json",
						success: function(result){
							if (result.resultCode == "1") {
								var address1 = [];
								var address3 = [];
								$.each(result.data, function(){
									if (this.expressType == "1") {
										address1.push(this.addressId);
									} else if (this.expressType == "3") {
										address3.push(this.addressId);
									}
								})
								$('#commonExpressAddress').selectpicker('val', address1);
								$('#expressAddress').selectpicker('val', address3);
							}
						}
					})
				}
			}
		})
	}
	
	//保存常用物流配置
	$('#btn_save_expressConfig').on('click', function(){ 
		if (!$('#companyId').val()) {
			show('请先填写基本信息');
			return;
		}
		if ($('input[name="expressType"]:checked').length == 0) {
			show("请至少选择一个常用物流");
			return false;
		} 
		
		var isContinue = true;
		$('input[name="expressType"]:checked').each(function(){
			var expressType = $(this).val();
			if (expressType == "1") {
				if (!$("#commonExpressAddress").selectpicker('val')) {
					isContinue = false;
					return;
				}
			} else if (expressType == "3") {
				if (!$("#expressAddress").selectpicker('val')) {
					isContinue = false;
					return;
				}
			}
		})
		if (!isContinue) {
			show("请至少选择一个地址");
			return false;
		}
		
		var companyId = $('#companyId').val();
		var data = [];
		$('input[name="expressType"]:checked').each(function(){
			var expressType = $(this).val();
			var address = "";
			if (expressType == "1") {
				address = $("#commonExpressAddress").selectpicker('val').toString();
			} else if (expressType == "3") {
				address = $("#expressAddress").selectpicker('val').toString();
			}
			data.push({expressType: expressType, address: address});
		})
		$.ajax({
			type: 'post',
			url: rootPath + "/companyExpressConfig/saveOrUpdateCompanyExpressConfig",
			data: {companyId: companyId, data: JSON.stringify(data)},
			dataType: 'json',
			success: function(result){
				showSuccess("常用物流信息保存成功！");
			}
		})
	})
	
	//返回到开票信息页
	$("#btn_back_expressConfig").on("click", function(){
		var tabIndex = 3;  
		showTabContent(tabIndex);
	});
	
	//物流类型复选框点击事件 1和2互斥，3和4互斥
	$("input[name='expressType']").on("ifClicked", function(){
		var value = $(this).val(); 
		
		if (value == "1") {
			$("input[name='expressType'][value='2']").iCheck("uncheck");
		} else if (value == "2") {
			$("input[name='expressType'][value='1']").iCheck("uncheck");
		} else if (value == "3") {
			$("input[name='expressType'][value='4']").iCheck("uncheck");
		} else if (value == "4") {
			$("input[name='expressType'][value='3']").iCheck("uncheck");
		}  
		
		//如果当前为选中状态，再次点击自己禁止设为未选中状态
		/*setTimeout(function(){
			$("input[name='expressType'][value='"+value+"']").iCheck("check"); 
		}, 10);*/
	})
	
	
	//*****************************常用物流配置END*************************************/
	
});

/**
 * 获得公司新增地址模版 
 * @param index 增加的地址个数
 */
function getNewAddrtemplete(index) {
	var newAddrTemplete = 
		'<div class="extendAddress">' +
    	'<div class="item form-group branchAddrDiv'+index+'">' +
    	'	<label class="control-label col-md-1 col-sm-1 col-xs-12  form-item-label-100" for="customerFactor">所在地区'+index+': ' +
    	'	</label>' +
    	'	<div class="col-md-8 col-sm-8 col-xs-12 ">' + 
		'		<select id="province_b'+index+'" data-width="20%" class="selectpicker extend_provinceCode" title="省" validate="{required:true,messages:{required:\'请填写省\'}}" data-live-search="true" ></select>&nbsp;' +
		'		<select id="city_b'+index+'" data-width="20%" class="selectpicker extend_cityCode" title="市" validate="{required:true,messages:{required:\'请填写市\'}}" data-live-search="true" ></select>&nbsp;' +
		'		<select id="area_b'+index+'" data-width="20%" class="selectpicker extend_areaCode" title="区" validate="{required:true,messages:{required:\'请填写区\'}}" data-live-search="true" ></select>&nbsp;' +
		'		<select id="street_b'+index+'" data-width="20%" class="selectpicker extend_streetCode" title="街道" validate="{required:true,messages:{required:\'请填写街道\'}}" data-live-search="true" ></select>&nbsp;' +
		'	</div>' +
		'	<a onclick="delNewAddr('+index+')" class="delNewAddr" href="#" style="color:#85ADF6; line-height:32px;color:red;"><i class="fa fa-minus fa-fw"></i>删除</a>' +
		'</div>' +
		'<div class="item form-group branchAddrDiv'+index+'">' +
		'	<label class="control-label col-md-1 col-sm-1 col-xs-12  form-item-label-100" for="">详细地址'+index+': ' +
		'	</label>' +
		'	<div class="col-md-6 col-sm-6 col-xs-12">' +
		'		<input id="address_b'+index+'" value="" class="form-control col-md-3 col-xs-12 extend_address" placeholder="详细地址"  type="text">' +
		'	</div>' +
		'</div>' +
		'</div>';
	return newAddrTemplete;
}

function showTabContent(tabIndex) {
	$('#myTabs li:eq('+tabIndex+') a').tab('show');
}

/**
 * 删除新增的扩展地址 
 */
function delNewAddr(index) {
	$('.branchAddrDiv'+index).remove();
}

/**
 * 校验并提交基本信息（单位信息）
 */
function checkAndSubmitCompanyInfo(){
	$("#companyInfoForm").validate({
		rules : {
			companyName : {
				required : true,
				minlength : 1,
				maxlength : 120
			},
			tel : {
				minlength : 1,
				maxlength : 20
			},
			fax : {
				minlength : 1,
				maxlength : 20
			},
			/*customerType : {
				required : true,
			},*/
			customerLevel : {
				required : true,
			},
			marketGrade : {
				required : true,
			},
			customerFactor : {
				required : true,
				number: true,
				minlength : 1,
				maxlength : 5
			},
		/*	provinceCode : {
				required : true,
			},
			cityCode : {
				required : true,
			},
			areaCode : {
				required : true,
			},
			address : {
				required : true,
			},*/
			allowedPayType : {
				required : true,
			},
			paymentDays: {
				number: true,
				required : function(){return $('#codPay').is(":checked")}
			}
		},
		messages : {
			companyName : {
				required : '请填写单位名称',
				minlength : '单位名称至少3个字符',
				maxlength : '单位名称至少120个字符'
			},
			tel : {
				minlength : '固定电话至少3个字符',
				maxlength : '固定电话至少20个字符'
			},
			fax : {
				minlength : '传真至少3个字符',
				maxlength : '传真至少20个字符'
			},
			/*customerType : {
				required : '请填写客户类型',
			},*/
			customerLevel : {
				required : '请填写客户级别',
			},
			marketGrade : {
				required : '请填写市场等级',
			},
			customerFactor : {
				required : '请填写客户系数',
				minlength : '客户系数至少1个字符',
				maxlength : '客户系数至少5个字符'
			},
		/*	provinceCode : {
				required : "请填写省",
			},
			cityCode : {
				required : "请填写市",
			},
			areaCode : {
				required : "请填写区",
			},
			address : {
				required : "请填写详细地址",
			},*/
			allowedPayType : {
				required : '请填写允许的付款方式 ',
			},
			paymentDays : {
				required : '货到付款时必须填写付款账期 ',
			},
		},
		errorPlacement : function(error, element) { // 错误信息位置设置方法
			if ($(element).is("select")) {
				error.insertAfter(element.parent());
			} else if ($(element).attr("type") == 'checkbox') {
				error.insertAfter(element.parent().parent().parent());
			} else {
				error.insertAfter(element);
			}
		},
		submitHandler : function(form) {
			var companyAddressExtendInfo = [];
			$('.extendAddress').each(function(){
				var provinceCode = $($(this).find('.extend_provinceCode')).selectpicker('val');
				var cityCode = $($(this).find('.extend_cityCode')).selectpicker('val');
				var areaCode = $($(this).find('.extend_areaCode')).selectpicker('val');
				var streetCode = $($(this).find('.extend_streetCode')).selectpicker('val');
				var address = $($(this).find('.extend_address')).val();
				companyAddressExtendInfo.push({provinceCode: provinceCode, cityCode: cityCode, areaCode:areaCode, streetCode: streetCode, address: address});
			})
			$(form).ajaxSubmit({
				type		: 'post',
				data		: {companyAddressExtendList: JSON.stringify(companyAddressExtendInfo)},
				timeout		: 5000, 
				success		: function(json){ 
					if (json.code == '1') {
						//暂存公司ID
						$('#companyId').val(json.companyId); //基本信息表单
						$('#companyId3').val(json.companyId); //开票信息表单
						//跳转到人员信息
				    	var tabIndex = 1;  
				    	showTabContent(tabIndex);
				    	//刷新配件方式
				    	initDeliveryModeTable();
					} else { 
						showErr('新增失败！');
					}
				}
			}); 
		}
	});
}


// 初始化客户访问日志

function initCustomerVisitLogTable(){
	// 定义列
	var columns = [
		{
				field : 'no',
				title : '序号',
				align : 'left',
				formatter : function(value, row, index) {
					return index + 1;
				}
		},
		{
			field : 'customerName',
			title : '客户姓名',
			align : 'center'
		},
		{
				field : 'terminalType',
				title : '访问终端',
				align : 'center',
				formatter:function(value, row, index){
					if(value == 'pc'){
						return "电脑(PC)";
					}else{
						return "微信";
					}
				}
		},
		{
				field : 'visitContent',
				title : '访问内容',
				align : 'center'
		},
		{
				field : 'visitTime',
				title : '访问时间',
				align : 'center',
				formatter:function(value, row, index){
	   				return formatDateTime(value, row, index);
	   			}
		}];
		
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var companyId =  $("#companyId").val()
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			companyId : companyId
		};
	};
	
	var url = rootPath + "/customerVisitLog/listCustomerVisitLogPage"; // 请求json数据的服务器地址
	sys.initTable('customerVisitLogTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}


// 初始化客户销售订单
function initCustomerOrderTable(){
	// 定义列
	var columns = [
		{
				field : 'no',
				title : '序号',
				align : 'left',
				formatter : function(value, row, index) {
					return index + 1;
				}
		},
		{
				field : 'customerName',
				title : '客户姓名',
				align : 'center'
		},
		{
				field : 'orderCode',
				title : '订单编号',
				align : 'center',
				formatter:function(value, row, index){
					return "<a href='javascript:void(0)'  style='color:#0063b1;' onclick='toOrderDetail("+value+")'>"+value+"</a>";
				}
		},
		{
				field : 'realPayMoney',
				title : '订单金额',
				align : 'center'
		},
		{
				field : 'orderTimeStr',
				title : '下单时间',
				align : 'center'
		}];
		
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		var companyId =  $("#companyId").val()
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
			customerCompanyId : companyId
		};
	};
	
	var url = rootPath + "/order/listOrderPage";
	sys.initTable('customerOrderTable', {
		url : url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}


// 初始化客户积分流水
function initCustomerPointTable() {
    // 定义列
    var columns = [ {
        field : 'no',
        title : '序号',
        align : 'center',
        valign : 'middle',
        width : 70,
        formatter : function(value, row, index) {
        	return index + 1;
        }
    }, {
        field : 'id',
        title : 'ID',
        align : 'center',
        valign : 'middle',
        visible : false
    }, {
        field : 'customerId',
        title : '客户ID',
        align : 'center',
        valign : 'middle',
        visible : false
    },
    {
        field : 'customerName',
        title : '客户姓名',
        align : 'center',
        valign : 'middle',
        visible : true
    }, 
    {
        field : 'operateType',
        title : '操作类型',
        align : 'center',
        valign : 'middle',
        width : '10%',
        formatter : function(value, row, index) {
            return formatPointOperateType(value, row, index);
        }
    }, 
    {
        field : 'operateFlag',
        title : '操作标识（1=加，0=减）',
        align : 'center',
        valign : 'middle',
        visible : false
    }, 
    {
        field : 'beforePoint',
        title : '操作前积分值',
        width : '10%',
        align : 'center',
        valign : 'middle'
    }, 
    {
        field : 'operatePoint',
        title : '操作积分',
        width : '10%',
        align : 'center',
        valign : 'middle',
        formatter : function(value, row, index) {
            var operateFlag = row.operateFlag;
            var operateType = row.operateType;
            if(operateFlag == 1) {
            	//加
            	return "<span class='label label-success'>加</span>&nbsp;" + value;
            } else if(operateFlag == 0) {
            	return "<span class='label label-danger'>减</span>&nbsp;" + value;
            } else {
            	return value;
            }
        }
    }, 
    {
        field : 'afterPoint',
        title : '操作后积分值',
        width : '10%',
        align : 'center',
        valign : 'middle'
    }, 
    {
        field : 'billCode',
        title : '单据号',
        align : 'center',
        valign : 'middle',
        width : '10%'
    }, 
    {
        field : 'billTime',
        title : '单据时间',
        align : 'center',
        valign : 'middle',
        width : '10%',
        formatter : function(value, row, index) {
            return formatDateTime(value, row, index);
        },
        visible : false
    }, 
    {
        field : 'operateTime',
        title : '操作时间',
        align : 'center',
        valign : 'middle',
        width : '10%',
        formatter : function(value, row, index) {
            return formatDateTime(value, row, index);
        }
    }, 
    {
        field : 'operateUser',
        title : '操作人',
        align : 'center',
        valign : 'middle',
        width : 100
    }, 
    {
        field : 'adjustReason',
        title : '调整原因 ',
        align : 'center',
        valign : 'middle'
    } ];

    // 定义查询回调函数（查询参数在此设置）
    var queryParams = function(params) {
        var customerId = $("#customerListSel").selectpicker('val');
        return {
            rows : params.limit, // 页面大小
            page : params.pageNumber, // 页码
            customerId : customerId
        };
    };

    var url = rootPath + "/point/listPointLogPage"; // 请求json数据的服务器地址
    sys.initTable('customerPointTable', {
        url : url,
        queryParams : queryParams,
        columns : columns,
        striped : true,
        clickToSelect : true
    });
}


//跳转订单详情页面
function toOrderDetail(orderCode){
	window.location.href = rootPath + "/order/toOrderDetail?orderCode="+orderCode+"&tabIndex=1";
}

/**
 * 初始化人员列表 
 */
function initCustomerTable(){
	// 定义列
	var columns = [
	    { field : 'no', title : '序号', align : 'left',
   			formatter : function(value, row, index) {
   				return index + 1;
   			}
   		},
   		{ field : 'userName', title : '员工姓名', align : 'center', valign:'middle' },
   		{ field : 'mobile', title : '手机号', align : 'center', valign:'middle' },
   		{ field : 'qqNumber', title : 'QQ', align : 'center', valign:'middle' },
   		{ field : 'email', title : '邮箱', align : 'center', valign:'middle' },
   		{ field : 'wechat', title : '微信', align : 'center', valign:'middle' },
   		{ field : 'gender', title : '性别', align : 'center', valign:'middle', 
   			formatter: function(value, row, index) {
   				if (value == '1') {
   					return '男';
   				} else if (value == '2'){
   					return '女';
   				}
   			} 
   		},
   		{ field : 'defaultFlag', title : '是否默认联系人', align : 'center', valign:'middle', 
   			formatter: function(value, row, index) {
   				if (value == '1') {
   					return '<span class="label label-success">&nbsp;&nbsp;默认&nbsp;&nbsp;</span>';
   				} else {
   					return '';
   				}
   			} 
   		},
   		{ field : '#', title : '自定义属性', halign:'center', align : 'left', valign:'middle', 
   			formatter : function(value, row, index) {
   				var strHtml = "";
   				if (row.customerExternalInfo) {
   					$.each(row.customerExternalInfo, function(){
   						strHtml += "<span style='padding-left:10px;'>"+this.fieldName+":&nbsp;&nbsp;"+this.fieldValue+"</span><br/>";
   					})
   					
   				}  
   				return strHtml;
   			}},
   		{ field : '#', title : '操作', align : 'left', halign : 'center', valign:'middle',
   			formatter : function(value, row, index) {
   				var isSalesman = $("#isSalesman").val();
   				if(isSalesman == '0') {
   					var strHtml = "";
   					strHtml += "<a class='btn btn-warning btn-xs' onclick='toEditCustomer("+row.id+")'>编辑</a>";
   					strHtml += "<a class='btn btn-danger btn-xs' onclick='toRemoveCustomer("+row.id+")'>删除</a>";
   					if (row.defaultFlag != '1') {
   						strHtml += "<a class='btn btn-info btn-xs' onclick='toSetDefaultCustomer("+row.id+")'>设置为默认</a>";
   					}
   					return strHtml;
   				}
   			}
   		}, ];
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码 
			"companyInfo.id"	: $("#companyId").val(),
		}
	}
		
	var url = rootPath + "/customer/listCustomerPage"; // 请求json数据的服务器地址
	if (!$("#companyId").val()){
		url = '';
	}
	sys.initTable('customerTable', {
		url : url,
		queryParams : queryParams,
		pagination: false,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
	
	
}

/**
 * 编辑客户人员信息 
 */
function toEditCustomer(id){
	$('#layer_opt_status').val(''); 
	var url = rootPath + '/customer/toUpdateCustomer?id='+id;
	var index = showDialogUrl('编辑', 800, 620, url, function(index){
		var optStatus = $('#layer_opt_status').val();
		if (optStatus == '1') {
			sys.reloadTable('customerTable');
		}
		layer.close(index);
	})
	layer.full(index);
}

/**
 * 删除客户人员信息
 */
function toRemoveCustomer(id){
	var url = rootPath + "/customer/removeCustomer";
	showConfirm("确定要删除？", function(){
		$.ajax({
			type: 'POST',
			url: url,
			async: false,
			data: {id: id},
			dataType: 'json',
			success: function(data) {
				if (data.code == '1') {
					sys.reloadTable('customerTable');
					//showSuccess(data.msg);
				} else {
					showErr(data.msg);
				}
			}
		});
	})
}

/**
 * 设置客户人员为默认联系人
 */
function toSetDefaultCustomer(id){
	var url = rootPath + "/customer/saveOrUpdateCustomer";
	$.ajax({
		type: 'POST',
		url: url,
		async: false,
		data: {id: id, 
			companyId: $('#companyId').val(),
			defaultFlag: 1
		},
		dataType: 'json',
		success: function(data) {
			if (data.code == '1') {
				sys.reloadTable('customerTable');
			} else {
				showErr(data.msg);
			}
		}
	});
}

/**
 * 校验并提交开票信息 
 */
function checkAndSubmitBillingInfo(){  
	$("#billingInfoForm").validate({
		rules : {
			billingCompanyName : {
				required : true,
				minlength : 3,
				maxlength : 100
			},
			taxNo : {
				required : true,
				minlength : 3,
				maxlength : 20
			},
			openBankName : {
				minlength : 3,
				maxlength : 30
			},
			bankAccount : {
				minlength : 3,
				maxlength : 30
			}
		},
		messages : {
			billingCompanyName : {
				required : '请填写单位名称',
				minlength : '至少3个字符',
				maxlength : '至少100个字符'
			},
			taxNo : {
				required : '请填写税号',
				minlength : '税号至少3个字符',
				maxlength : '税号至少20个字符'
			},
			openBankName : {
				minlength : '开户行至少3个字符',
				maxlength : '开户行最多30个字符'
			},
			bankAccount : {
				minlength : '银行账号至少3个字符',
				maxlength : '银行账号最多30个字符'
			}
		},
		errorPlacement : function(error, element) { // 错误信息位置设置方法
			var tagName = $(element).is("select");
    		if(!tagName) {
    			error.insertAfter(element);
    		}else {
    			error.insertAfter(element.parent().next());
    		}
		},
		submitHandler : function(form) {
			doSaveBilling();
		}
	});
}

function initDeliveryModeTable() {
	// 定义列
	var columns = [
		{
			field : 'no',
			title : '序号',
			width: 100,
			align : 'left',
			valign: 'middle',
			formatter : function(value, row, index) {
				return index + 1;
			}
		},
		{
			field : 'modeName',
			title : '配件方式',
			width: 200,
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'modeValue',
			width: 100,
			title : '选择 ',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				return "<input type='checkbox' name='deliveryMode' "+(row.id ? "checked" : "")+" value='"+value+"' />";
			}
		},
		{
			field: '#',
			title: '操作',
			width: 100,
			align : 'center',
			valign: 'middle',
			formatter: function(value, row, index) {
				var isSalesman = $("#isSalesman").val();
				var strHtml = '<div id="optContent_'+row.modeValue+'" style="margin-top:5px;">';
				if (row.defaultFlag == '1') {
					strHtml += '<span class="label label-success ttDefaultMode" bind-data="'+row.modeValue+'">默认方式</span>';
				} else {
					if (row.id && isSalesman == '0') {
						strHtml += '<a href="#" class="btn btn-primary btn-xs" onclick="setDefaultDeliveryMode(\''+row.modeValue+'\')" >设为默认<a>';
					}
				}
				strHtml += '</div>';
				return strHtml;
			}
		}];
			
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
		};
	};
	var companyId = $('#companyId').val();
	var url = rootPath + "/deliveryMode/listDeliveryModePage?companyId="+companyId;
	sys.initTable('deliveryModeTable', {
		url: url,
		queryParams : queryParams,
		pagination: false,
		columns : columns,
		striped : true,
		clickToSelect : true,
		onClickCell: function(field, value, row) {
			if (field == 'modeValue') {
				$('input[name="deliveryMode"][value="'+row.modeValue+'"]').iCheck('toggle');
			}
		},
		onLoadSuccess: function(){
			$('input[name="deliveryMode"]').iCheck({checkboxClass: 'icheckbox_square-green'});
			$('input[name="deliveryMode"').on('ifChanged', function(event){
				var value = $(this).attr('value');
				if ($(this).is(":checked")) { 
					$('#optContent_' + value).html('<a href="#" class="btn btn-primary btn-xs" onclick="setDefaultDeliveryMode(\''+value+'\')" >设为默认<a>');
				} else {
					$('#optContent_' + value).html('');
				}
			});
			
		}
	});
}

/**
 * 设置默认配件方式 
 */
function setDefaultDeliveryMode(modeValue){
	$('.ttDefaultMode').each(function(){
		$(this).parent().html('<a href="#" class="btn btn-primary btn-xs" onclick="setDefaultDeliveryMode(\''+$(this).attr('bind-data')+'\')" >设为默认<a>');
	})
	$('#optContent_' + modeValue).html('<span class="label label-success ttDefaultMode" bind-data="'+modeValue+'">默认方式</span>');
}

/**
 * 公司开票信息
 * */
function initCompanyInvoiceTable() {
	// 定义列
	var columns = [
		{
			field : 'no',
			title : '序号',
			width: 100,
			align : 'left',
			valign: 'middle',
			formatter : function(value, row, index) {
				return index + 1;
			}
		},
		{
			field : 'companyName',
			title : '单位名称',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'taxNo',
			title : '税号',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'registeAddress',
			title : '注册地址',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'registePhone',
			title : '注册电话',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'openBankName',
			title : '开户银行',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'bankAccount',
			title : '银行帐号',
			align : 'center',
			valign: 'middle',
		},
		{
			field : 'isDefault',
			title : '是否默认',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				if(value == 1) {
					return "<span class='label label-success'>是</span>";
				} else {
					return "<span class='label label-grey'>否</span>"; 
				}
			}
		},
		{
			title : '操作',
			align : 'center',
			valign: 'middle',
			formatter : function(value, row, index) {
				var strHtml = "";
				if(row.isDefault != 1) {
					strHtml += "<a class='btn btn-primary btn-xs' onclick='setInvoiceDefault("+row.id+")'>设为默认</a>";
				}
				strHtml += "<a class='btn btn-warning btn-xs' onclick='toEditInvoice(\""+ row.id +"\",\""+ row.companyName +"\",\""+ row.taxNo +"\",\""+ row.registeAddress +"\",\""+ row.registePhone +"\",\""+ row.openBankName +"\",\""+ row.bankAccount +"\")'>编辑</a>";
				strHtml += "<a class='btn btn-danger btn-xs' onclick='toRemoveInvoice("+row.id+")'>删除</a>";
				return strHtml;
			}
		}];
			
			
	// 定义查询回调函数（查询参数在此设置）
	var queryParams = function(params) {
		return {
			rows : params.limit, // 页面大小
			page : params.pageNumber, // 页码
		};
	};
	var companyId = $('#companyId').val();
	var url = rootPath + "/company/listCompanyInvoicePage?companyId="+companyId;
	sys.initTable('companyInvoiceTable', {
		url: url,
		queryParams : queryParams,
		columns : columns,
		striped : true,
		clickToSelect : true
	});
}

/**
 * 打开开票信息地址
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年4月11日 上午10:24:44
 */
function doAddBillingInfo() {
	$('#invoiceId').val('');
	$('#billingCompanyName').val('');
	$('#taxNo').val('');
	$('#registeAddress').val('');
	$('#registePhone').val('');
	$('#openBankName').val('');
	$('#bankAccount').val('');
	$("#billingModal").modal('show');
}
/**
 * 编辑开票信息地址
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年4月11日 上午10:24:44
 */
function toEditInvoice( id, companyName, taxNo, registeAddress, registePhone, openBankName, bankAccount) {
	$('#invoiceId').val(id);
	$('#billingCompanyName').val(companyName);
	$('#taxNo').val(taxNo);
	$('#registeAddress').val(registeAddress);
	$('#registePhone').val(registePhone);
	$('#openBankName').val(openBankName);
	$('#bankAccount').val(bankAccount);
	$("#billingModal").modal('show');
}

/**
 * 保存开票信息
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年4月11日 上午10:43:27
 */
function doSaveBilling() {
	var companyId = $('#companyId').val();
	var id = $('#invoiceId').val();
	var companyName = $('#billingCompanyName').val();
	var taxNo = $('#taxNo').val();
	var registeAddress = $('#registeAddress').val();
	var registePhone = $('#registePhone').val();
	var openBankName = $('#openBankName').val();
	var bankAccount = $('#bankAccount').val();
	if (!companyId) {
		showErr('请先填写基本信息');
		return;
	}
	if (!companyName) {
		showErr('请先填写单位名称');
		return;
	}
	if (!taxNo) {
		showErr('请先填写税号');
		return;
	}

	var params = {
		companyId : companyId,
		id : id,
		companyName : companyName,
		taxNo : taxNo,
		registeAddress : registeAddress,
		registePhone : registePhone,
		openBankName : openBankName,
		bankAccount : bankAccount
	};
	$.ajax({
		url : rootPath + "/company/saveCompanyBillingInfo",
		type : "post",
		async : true,
		dataType : 'json',
		data : params,
		success : function(json) {
			if (json.code == '1') {
				sys.reloadTable('companyInvoiceTable');
				$("#billingModal").modal('hide');
			} else {
				showErr(json.msg);
			}
		}
	});
}

/**
 * 设为默认
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2018年4月13日 下午5:47:43
 * @param id
 */
function setInvoiceDefault(id) {
	$.ajax({
		url : rootPath + "/company/doSetDefault",
		type : "post",
		async : true,
		dataType : 'json',
		data : {invoiceId : id},
		success : function(json) {
			if (json.resultCode == '1') {
				sys.reloadTable('companyInvoiceTable');
			} else {
				showErr(json.msg);
			}
		}
	});
}

/**
 * 删除发票
 */
function toRemoveInvoice(id) {
	$.ajax({
		url : rootPath + "/company/delCompanyBillingInfo",
		type : "post",
		async : true,
		dataType : 'json',
		data : {id : id},
		success : function(json) {
			if (json.code == '1') {
				sys.reloadTable('companyInvoiceTable');
			} else {
				showErr(json.msg);
			}
		}
	});
}

